در برنامه نویسی اتوماسیون زیمنس، دستور BTI یک عدد BCD سه شماره ای را که در ACCU1-L بار شده به عدد صحیح (Integer) 16 بیتی تبدیل مینماید. نتیجه در همان ACCU1-L ذخیره میشود ، بنابراین ACCU1-H و ACCU2 در طول تبدیل تغییری نمیکنند.
عدد BCD که در ACCU1-L بار میشود میتواند بین "-999" تا "+999" باشد که سه رقم آن در بیت های 0 تا 11 و علامت آن در بیت 15 قرار میگیرد (0=Positive , 1=Negative) بیت های 12 تا 14 در تبدیل بکار نمیروند. اگر یکی از ارقام دسیمال عدد BCD در رنج غیر مجاز 10 تا 15 واقع شود ، خطای BCDF در حین تبدیل ظاهر میشود که معمولاً CPU را به مد STOP میبرد و کد خطا به شماره Id : 2521 در بافر تشخیص عیب CPU ذخیره میگردد. با طراحی و برنامه ریزی OB121 میتوان روی این خطا مدیریت کرد و مانع Stop شدن CPU گردید.
شکل زیر ، نحوه تبدیل عدد "+915" از BCD به Integer در آکومولاتور ACCU1-L را نشان میدهد.
در مثال ، زیر عدد BCD که در MW10 موجود است ، به ACCU1-L بار میشود. سپس ، به Integer تبدیل شده و نتیجه از ACCU1-L به MW12 انتقال مییابد. عمل تبدیل با I 0.0 = 1 شروع میشود. اگر تبدیل انجام شد ، خروجی Q 4.0 = 1 است و اگر سرریزی (overflow) اتفاق افتاد ، تبدیل انجام نشده و خروجی Q 4.0 صفر میشود.
دستور IBT در زبان LAD
عدد BCD که در ACCU1-L بار میشود میتواند بین "-999" تا "+999" باشد که سه رقم آن در بیت های 0 تا 11 و علامت آن در بیت 15 قرار میگیرد (0=Positive , 1=Negative) بیت های 12 تا 14 در تبدیل بکار نمیروند. اگر یکی از ارقام دسیمال عدد BCD در رنج غیر مجاز 10 تا 15 واقع شود ، خطای BCDF در حین تبدیل ظاهر میشود که معمولاً CPU را به مد STOP میبرد و کد خطا به شماره Id : 2521 در بافر تشخیص عیب CPU ذخیره میگردد. با طراحی و برنامه ریزی OB121 میتوان روی این خطا مدیریت کرد و مانع Stop شدن CPU گردید.
شکل زیر ، نحوه تبدیل عدد "+915" از BCD به Integer در آکومولاتور ACCU1-L را نشان میدهد.
کنترل زیمنس نماینده اتوماسیون زیمنس در ایران
در مثال ، زیر عدد BCD که در MW10 موجود است ، به ACCU1-L بار میشود. سپس ، به Integer تبدیل شده و نتیجه از ACCU1-L به MW12 انتقال مییابد. عمل تبدیل با I 0.0 = 1 شروع میشود. اگر تبدیل انجام شد ، خروجی Q 4.0 = 1 است و اگر سرریزی (overflow) اتفاق افتاد ، تبدیل انجام نشده و خروجی Q 4.0 صفر میشود.
دستور IBT در زبان LAD